Interface–Funktionen

Jede Interface–Funktion wird drei mal vom Dispatcher aufgerufen, das erste Mal um den Speicher f�r die Parameterstruktur anzufordern und die Defaultwerte dort einzutragen, das zweite Mal um die eigentliche Aufgabe durchzuf�hren2, und zum dritten Mal um den Speicher wieder freizugeben.

Auf diese Art und Weise ist es m�glich, eigene lokale Variablen zu benutzen. Diese m�ssen, damit der Code reentrant ist (f�r mehrere Hosts gleichzeitig), in die Parameterdatenstruktur mit eingebunden werden.

Dazu wird einfach eine neue, lokale Struktur definiert, deren erster Bestandteil eine Instanz der Parameterstruktur ist, also z.B.:

void rx_help( ..., struct rxd_help **rxd, ... )
{
    struct myrxd {
        struct rxd_help rxd;
        /* Hier die eigenen lokalen Variablen eintragen */
        ...
    } *rd = (struct myrxd *) *rxd;
    
    ...
}

Welcher Teil einer Interface–Prozedur wann aufgerufen wird geht eindeutig aus dem erzeugten Code hervor.